
export function parseDateToChineseWithValidation(dateStr) {
    // 检查输入是否为8位数字
    // 判断字符串是否为有效日期，兼容20250101 和 2025-01-01
    // 兼容20250101 格式
    if (/^\d{8}$/.test(dateStr)) {
        dateStr = dateStr.replace(/^(\d{4})(\d{2})(\d{2})$/, '$1-$2-$3');
    }
    if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
        return "";
    }

    const dateObj = new Date(dateStr)
    // 提取年、月、日部分
    const year = dateObj.getFullYear()
    const month = dateObj.getMonth() + 1
    const day = dateObj.getDate()

    // 格式化为YYYY年MM月DD日
    const formattedYear = year.toString()
    const formattedMonth = month.toString().padStart(2, '0')
    const formattedDay = day.toString().padStart(2, '0')

    return `${formattedYear}年${formattedMonth}月${formattedDay}日`;
}

/**
 * 格式化日期时间
 * @param {string|Date} dateTime - 日期时间字符串或Date对象
 * @returns {string} 格式化后的日期时间字符串
 */
export function formatDateTime(dateTime) {
  if (!dateTime) {
    return ''
  }
  
  const date = new Date(dateTime)
  
  // 检查日期是否有效
  if (isNaN(date.getTime())) {
    return ''
  }
  
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0')
  const day = String(date.getDate()).padStart(2, '0')
  const hours = String(date.getHours()).padStart(2, '0')
  const minutes = String(date.getMinutes()).padStart(2, '0')
  const seconds = String(date.getSeconds()).padStart(2, '0')
  
  return `${year}年${month}月${day}日 ${hours}:${minutes}:${seconds}`
}

export function convertTimeToPeriod(time24='') {
    // 提取小时部分
    const hour = parseInt(time24.split(':')[0]);
    if (isNaN(hour) || hour < 0 || hour > 23) {
        return '';
    }
    if (hour >= 5 && hour < 12) {
        return '上午';
    } else if (hour >= 12 && hour < 18) {
        return '下午';
    } else if (hour >= 18 && hour < 24) {
        return '晚上';
    } else {
        return '凌晨';
    }
}
